namespace Karma.Framework.Core.Repository
{
    /// <summary>
    /// Permite realizar consultas sobre un objeto de dominio
    /// </summary>
    public interface IQueryable
    {
        /// <summary>
        /// Permite realizar consultas sobre un objeto de dominio
        /// </summary>
        /// <param name="specification">Contiene la especificacion de la busqueda a realizar.</param>
        /// <returns>El conjunto de resultados de la busqueda realizada en un objeto de tipo
        /// <see cref="QueryResult"/></returns>
        QueryResult Find(QuerySpecification specification);
    }
}